package com.example.echoewish.repository;

import com.example.echoewish.repository.network.ConcernServiceNetwork;
import com.example.echoewish.util.LogUtil;

import retrofit2.Callback;

// 仓库类是为了 从  数据库 或者 网络 获取 数据
//注意仓库都是单例模式【必须是 多线程安全的单例】 所以采用饿汉模式启动
public class ConcernMessageRepository {
    private final static ConcernMessageRepository instance=new ConcernMessageRepository();

    public static ConcernMessageRepository getInstance()
    {
        return instance;
    }

    public void concernNewFriend(int hostId, int friId, Callback callback)
    {
        try {
            ConcernServiceNetwork.concernNewFriend(hostId,friId,callback);
            new LogUtil().d(LogUtil.GET_DATA_TAG,"关注用户接口调用时 发起网络请求成功");
        }
        catch (Exception e)
        {
            new LogUtil().d(LogUtil.GET_DATA_TAG,"关注用户接口调用时 发起网络请求成功");
        }
    }

    public void cancelConcern(int hostId, int friId, Callback callback)
    {
        try {
            ConcernServiceNetwork.cancelConcern(hostId,friId,callback);
            new LogUtil().d(LogUtil.GET_DATA_TAG,"取消关注用户接口调用时 发起网络请求成功");
        }
        catch (Exception e)
        {
            new LogUtil().d(LogUtil.GET_DATA_TAG,"取消关注用户接口调用时 发起网络请求成功");
        }
    }

    public void getMyConcern(int hostId, Callback callback)
    {
        try {
            ConcernServiceNetwork.getMyConcern(hostId,callback);
            new LogUtil().d(LogUtil.GET_DATA_TAG,"获取我关注的用户接口调用时 发起网络请求成功");
        }
        catch (Exception e)
        {
            new LogUtil().d(LogUtil.GET_DATA_TAG,"获取我关注的用户接口调用时 发起网络请求成功");
        }
    }
}
